#ifndef ERRORLOGGER
#define ERRORLOGGER

#include "GE_Base.h"
namespace Syp
{
///class ErrorLogger is a Singleton because there should only be 1 instance of ErrorLogger, ErrorLogger helps log all messages/error/warnings passed to it into 1 logfile.
class SYPAPI ErrorLogger
{
public:	
	///Initialises and opens a log file
	static void ErrorLogger::initialise();
	///returns a reference to the Logger
	static std::ofstream& getLogger();
	///release resources used by Logger and close file
	static void release();
	///shortcut for printing errors
	static void showError(const String& error);
		
private:
	~ErrorLogger();
	ErrorLogger();///bcos it is private, it is a singleton which can only be created by the class alone		
	static std::ofstream* err;	
	
};
}

#endif
